home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / tip / weekofyr.tip < prev    next >
Text File  |  1993-09-15  |  2KB  |  64 lines

  1. % This macro source file is from the four volume series
  2. % "TeX in Practice" by Stephan von Bechtolsheim, published
  3. % 1993 by Springer-Verlag, New York.
  4. % Copyright 1993 Stephan von Bechtolsheim.
  5. % No warranty or liability is assumed.
  6. % This macro may be copied freely if no fees other than
  7. % media cost or shipping charges are charged and as long
  8. % as this copyright and the following source code itself
  9. % is not changed. Please see the series for further information.
  10. %
  11. % Version: 1.1
  12. % Date: Sep 9, 1993
  13. %
  14. %
  15. % This source code is documented in 26.22, p. III-392.
  16. % Original source in file "macros6.TEX", starting line 1641.
  17. \wlog{L: "weekofyr.tip" ["macros6.TEX," l. 1641, p. III-392]}%
  18. % This file DOES belong to format "texip."
  19. \InputD{doloop.tip}
  20. \InputD{dateofw.tip}
  21. \InputD{arbday.tip}
  22. \InputD{prevday.tip}
  23. \InputD{mondofda.tip}
  24. \InputD{norpweek.tip}
  25. \catcode`\@ = 11
  26. \newcount\@WeekOfYearCounter
  27. \newcount\@WeekOfYearYear
  28. \newcount\@WeekOfYearMonth
  29. \newcount\@WeekOfYearDay
  30. \newcount\@WeekOfYearCopy
  31. \def\WeekOfYear #1#2#3#4{%
  32.     \@WeekOfYearCopy = #1\relax
  33.     \ComputeMondayOfDate{#1}{#2}{#3}%
  34.         {\@WeekOfYearYear}{\@WeekOfYearMonth}{\@WeekOfYearDay}%
  35.     \def\@WeekOfYearCounter{#4}%
  36.     \@WeekOfYearCounter = 1
  37.     \@WeekOfYear
  38. }
  39. \newif\if@YearStop
  40. \def\@WeekOfYear{%
  41.     \@YearStopfalse
  42.     \ifnum\@WeekOfYearCopy > \@WeekOfYearYear
  43.         \@YearStoptrue
  44.     \else
  45.         \ifnum\@WeekOfYearMonth = 1
  46.             \ifnum\@WeekOfYearDay = 1
  47.                 \@YearStoptrue
  48.             \fi
  49.         \fi
  50.     \fi
  51.     \if@YearStop
  52.         \def\@WeekOfYearNext{\relax}%
  53.     \else
  54.         \def\@WeekOfYearNext{\@WeekOfYear}%
  55.         \expandafter\advance\@WeekOfYearCounter by 1
  56.         \PrevWeekSameDay{\@WeekOfYearYear}{\@WeekOfYearMonth}%
  57.             {\@WeekOfYearDay}%
  58.             {\@WeekOfYearYear}{\@WeekOfYearMonth}%
  59.             {\@WeekOfYearDay}%
  60.     \fi
  61.     \@WeekOfYearNext
  62. }
  63. \catcode`\@ = 12
  64.